<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
  <head>
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta name="created" content="2018-10-23T06:18:10.521000000">
    <meta name="changed" content="2021-05-21T06:18:42.262000000">
    <meta http-equiv="content-type" content="text/html; charset=utf-8">
    <meta http-equiv="Content-Language" content="en">
    <title>
      Bit Selector
    </title>
    <link rel="stylesheet" type="text/css" href="../../style.css">
  </head>
  <body>
    <div class="maindiv">
      <h1>
       <img class="iconlibs" src="../../../../icons/6464/bitselector.png" alt="#########" height="32" width="32"> <em>Bit Selector</em>
      </h1>
      <table>
        <tbody>
          <tr>
            <td>
              <strong>Library:</strong>
            </td>
            <td>
              <a href="index.html">Plexers</a>
            </td>
          </tr>
          <tr>
            <td>
              <strong>Introduced:</strong>
            </td>
            <td>
              2.0.5
            </td>
          </tr>
          <tr>
            <td valign="top">
              <strong>Appearance:</strong>
            </td>
            <td valign="top">
              <img  class="appearancelibs" src="../../../../img-libs/selector.png"  alt="#########" height="64" width="64">
            </td>
          </tr>
        </tbody>
      </table>
      <h2>
        Behavior
      </h2>
      <p>
        Given an input of several bits, this will divide it into several equal-sized groups (starting from the lowest-order bit) and output the group selected by the select input.
      </p>
      <p>
        For example, if we have an eight-bit input 01010101, and we are to have a three-bit output, then group 0 will be the lowest-order three bits 101, group 1 will be the next three bits, 010, and group 2 will be the next three bits 001. (Any bits beyond the top are filled in with 0.) The select
        input will be a two-bit number that selects which of these three groups to output; if the select input is 3, then 000 will be the output.
      </p>
      <h2>
        Pins (assuming component faces east)
      </h2>
      <dl>
        <dt>
          West edge (input, bit width matches Data Bits attribute)
        </dt>
        <dd>
          Data value from which bits should be selected for the output.
        </dd>
        <dt>
          East edge (output, bit width matches Output Bits attribute)
        </dt>
        <dd>
          A group of bits from the data value, as selected by the select input.
        </dd>
        <dt>
          South edge (input, bit width is quotient of Data Bits and Output Bits, rounded up)
        </dt>
        <dd>
          Select input: Determines which of the bit groups should be routed to the output.
        </dd>
      </dl>
      <h2>
        Attributes
      </h2>
      <p>
        When the component is selected or being added, the digits '0' through '9' alter its <q>Output Bits</q> attribute, Alt-0 through Alt-9 alter its <q>Data Bits</q> attribute, and the arrow keys alter its <q>Facing</q> attribute.
      </p>
      <dl>
        <dt>
          Facing
        </dt>
        <dd>
          The direction of the component (its output relative to its input).
        </dd>
        <dt>
          Data Bits
        </dt>
        <dd>
          The bit width of the component's data input.
        </dd>
        <dt>
          Output Bits
        </dt>
        <dd>
          The bit width of the component's output.
        </dd>
      </dl>
      <h2>
        Poke Tool Behavior
      </h2>
      <p>
        None.
      </p>
      <h2>
        Text Tool Behavior
      </h2>
      <p>
        None.
      </p>
      <p>
        <a href="../index.html">Back to <em>Library Reference</em></a>
      </p>
    </div>
  </body>
</html>
